//@version=6
indicator(title="Multiple Smoothed Moving Averages", shorttitle="SMMAs", overlay=true, timeframe="", timeframe_gaps=true)

// Inputs for each SMMA length with toggles
show0 = input.bool(true, title="", inline="smma1")
len0 = input.int(30, minval=1, title="SMMA 1", inline="smma1")

show1 = input.bool(true, title="", inline="smma2")
len1 = input.int(50, minval=1, title="SMMA 2", inline="smma2")

show2 = input.bool(true, title="", inline="smma3")
len2 = input.int(100, minval=1, title="SMMA 3", inline="smma3")

show3 = input.bool(true, title="", inline="smma4")
len3 = input.int(200, minval=1, title="SMMA 4", inline="smma4")

show4 = input.bool(true, title="", inline="smma5")
len4 = input.int(300, minval=1, title="SMMA 5", inline="smma5")

// Source input (shared by all SMMAs)
src = input(close, title="Source")

// Initialize SMMA 0
smma0 = 0.0
smaValue0 = ta.sma(src, len0)
smma0 := na(smma0[1]) ? smaValue0 : (smma0[1] * (len0 - 1) + src) / len0

// Initialize SMMA 1
smma1 = 0.0
smaValue1 = ta.sma(src, len1)
smma1 := na(smma1[1]) ? smaValue1 : (smma1[1] * (len1 - 1) + src) / len1

// Initialize SMMA 2
smma2 = 0.0
smaValue2 = ta.sma(src, len2)
smma2 := na(smma2[1]) ? smaValue2 : (smma2[1] * (len2 - 1) + src) / len2

// Initialize SMMA 3
smma3 = 0.0
smaValue3 = ta.sma(src, len3)
smma3 := na(smma3[1]) ? smaValue3 : (smma3[1] * (len3 - 1) + src) / len3

// Initialize SMMA 5
smma4 = 0.0
smaValue4 = ta.sma(src, len4)
smma4 := na(smma4[1]) ? smaValue4 : (smma4[1] * (len4 - 1) + src) / len4

// Plot all 5 SMMAs with different colors (conditionally based on toggles)
plot(show0 ? smma0 : na, "SMMA 1", color = #2962FF)  // Blue
plot(show1 ? smma1 : na, "SMMA 2", color = #FF6D00)  // Orange
plot(show2 ? smma2 : na, "SMMA 3", color = #00C853) // Green
plot(show3 ? smma3 : na, "SMMA 4", color = #D500F9) // Purple
plot(show4 ? smma4 : na, "SMMA 5", color = #FF0000) // Red